<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 函数封装的步骤
        //   1 普通的实现这个功能
        //   2 在这段代码外面套一个函数，起个名字
        //   3 考虑是否需要参数，需要几个参数
        //   4 写个说明书
        //   5 调用函数




        // 函数声明
        // function sjx() {
        //     // 实现功能的代码
        //     for(var i = 0 ; i < 4 ; i++) {
        //         for(var j = 0 ; j <= i ; j++) {
        //             document.write('*') ;
        //         }
        //         document.write('<br>') ;
        //     }
        // }



        // // 函数调用
        // sjx();


            

        // 进一步封装   --- 提取参数


        // 说明书：
        //    功能：打印三角形
        //    参数说明：
        //        第一个参数表示三角形的行数  int
        //        第二个参数表示打印的内容    string
        function sjx(m , n) {    // m 叫做形式参数
            // 实现功能的代码
            for(var i = 0 ; i < m ; i++) {
                for(var j = 0 ; j <= i ; j++) {
                    document.write(n) ;
                }
                document.write('<br>') ;
            }
        }


        sjx(10 , '$');    // 10 叫做实际参数 

        sjx(5 , '#');










        // 99 乘法表   不需要参数
        function print99() {
            for(var i = 1 ; i < 10 ; i++) {
                for(var j = 1 ; j <= i ; j++) {
                    document.write(j + 'x' + i + '=' + i * j + '&nbsp;') ;
                }
                document.write('<br>') ;
            }
        }

        print99()

    </script>
    
</body>
</html>